home *** CD-ROM | disk | FTP | other *** search
/ Eagles Nest BBS 8 / Eagles_Nest_Mac_Collection_Disc_8.TOAST / Developer Tools⁄Additions / MacAnalyst32 / MacAnalyst 3.2 / Analysis Examples / Analyzer.PD < prev    next >
MacBinary  |  1990-12-09  |  2.8 KB  |  [TEXT/DESA]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Sun Dec 9 16:49:22 1990, modified Sun Dec 9 16:49:22 1990, creator 'DESA', type ASCII, 1789 bytes "Analyzer.PD" , at 0x77d 888 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[DESA]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0b 41 6e 61 6c 79 7a | 65 72 2e 50 44 00 00 00 |..Analyz|er.PD...|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 44 45 53 | 41 01 00 00 00 00 00 00 |.TEXTDES|A.......|
|00000050| 00 00 00 00 00 06 fd 00 | 00 03 78 a3 88 61 e2 a3 |........|..x..a..|
|00000060| 88 61 e2 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.a......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 99 7b 00 00 |........|.....{..|
|00000080| 7b 20 42 75 69 6c 64 54 | 72 69 67 67 65 72 20 7d |{ BuildT|rigger }|
|00000090| 0d 4b 65 79 45 6e 74 72 | 79 20 3a 20 64 61 74 61 |.KeyEntr|y : data|
|000000a0| 20 69 6e 0d 54 72 69 67 | 67 65 72 20 3a 20 64 61 | in.Trig|ger : da|
|000000b0| 74 61 20 6f 75 74 0d 4e | 65 77 54 72 69 67 67 65 |ta out.N|ewTrigge|
|000000c0| 72 20 3a 20 63 6f 6e 74 | 72 6f 6c 20 69 6e 0d 42 |r : cont|rol in.B|
|000000d0| 4f 44 59 3a 20 0d 20 20 | 69 66 20 4e 65 77 54 72 |ODY: . |if NewTr|
|000000e0| 69 67 67 65 72 20 74 68 | 65 6e 0d 20 20 20 20 77 |igger th|en. w|
|000000f0| 68 69 6c 65 20 4b 65 79 | 45 6e 74 72 79 20 3c 3e |hile Key|Entry <>|
|00000100| 20 52 65 74 75 72 6e 20 | 64 6f 0d 20 20 20 20 20 | Return |do. |
|00000110| 20 20 41 64 64 20 4b 65 | 79 45 6e 74 72 79 20 74 | Add Ke|yEntry t|
|00000120| 6f 20 73 74 72 69 6e 67 | 0d 20 20 20 20 42 75 69 |o string|. Bui|
|00000130| 6c 64 20 54 72 69 67 67 | 65 72 20 66 72 6f 6d 20 |ld Trigg|er from |
|00000140| 73 74 72 69 6e 67 0d 20 | 20 20 20 53 61 76 65 20 |string. | Save |
|00000150| 54 72 69 67 67 65 72 20 | 0d 5f 5f 5f 5f 5f 5f 5f |Trigger |._______|
|00000160| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000170| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000180| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 0d 0d 7b |________|_____..{|
|00000190| 20 43 6f 6e 74 72 6f 6c | 41 6e 61 6c 79 7a 65 72 | Control|Analyzer|
|000001a0| 20 7d 0d 43 6f 6d 6d 61 | 6e 64 20 3a 20 63 6f 6e | }.Comma|nd : con|
|000001b0| 74 72 6f 6c 20 69 6e 0d | 54 72 69 67 67 65 72 45 |trol in.|TriggerE|
|000001c0| 6e 61 62 6c 65 20 3a 20 | 63 6f 6e 74 72 6f 6c 20 |nable : |control |
|000001d0| 6f 75 74 0d 54 72 69 67 | 67 65 72 46 6f 75 6e 64 |out.Trig|gerFound|
|000001e0| 20 3a 20 63 6f 6e 74 72 | 6f 6c 20 69 6e 0d 4e 65 | : contr|ol in.Ne|
|000001f0| 77 54 72 69 67 67 65 72 | 20 3a 20 63 6f 6e 74 72 |wTrigger| : contr|
|00000200| 6f 6c 20 6f 75 74 0d 52 | 65 63 65 69 76 65 72 45 |ol out.R|eceiverE|
|00000210| 6e 61 62 6c 65 20 3a 20 | 63 6f 6e 74 72 6f 6c 20 |nable : |control |
|00000220| 6f 75 74 0d 42 4f 44 59 | 3a 20 0d 20 20 69 66 20 |out.BODY|: . if |
|00000230| 43 6f 6d 6d 61 6e 64 20 | 69 73 73 75 65 64 20 66 |Command |issued f|
|00000240| 72 6f 6d 20 6b 65 79 62 | 6f 61 72 64 20 74 68 65 |rom keyb|oard the|
|00000250| 6e 0d 20 20 20 20 63 61 | 73 65 20 43 6f 6d 6d 61 |n. ca|se Comma|
|00000260| 6e 64 20 6f 66 0d 20 20 | 20 20 20 20 4c 4f 41 44 |nd of. | LOAD|
|00000270| 20 54 52 49 47 47 45 52 | 3a 20 20 0d 20 20 20 20 | TRIGGER|: . |
|00000280| 20 20 20 20 52 65 63 65 | 69 76 65 72 45 6e 61 62 | Rece|iverEnab|
|00000290| 6c 65 20 3d 20 46 41 4c | 53 45 20 0d 20 20 20 20 |le = FAL|SE . |
|000002a0| 20 20 20 20 4e 65 77 54 | 72 69 67 67 65 72 20 3d | NewT|rigger =|
|000002b0| 20 54 52 55 45 20 0d 20 | 20 20 20 20 20 20 20 54 | TRUE . | T|
|000002c0| 72 69 67 67 65 72 45 6e | 61 62 6c 65 20 3d 20 46 |riggerEn|able = F|
|000002d0| 41 4c 53 45 0d 20 20 20 | 20 20 20 53 54 41 52 54 |ALSE. | START|
|000002e0| 20 53 43 41 4e 3a 0d 20 | 20 20 20 20 20 20 20 52 | SCAN:. | R|
|000002f0| 65 63 65 69 76 65 72 45 | 6e 61 62 6c 65 20 3d 20 |eceiverE|nable = |
|00000300| 54 52 55 45 20 0d 20 20 | 20 20 20 20 20 20 4e 65 |TRUE . | Ne|
|00000310| 77 54 72 69 67 67 65 72 | 20 3d 20 46 41 4c 53 45 |wTrigger| = FALSE|
|00000320| 20 0d 20 20 20 20 20 20 | 20 20 54 72 69 67 67 65 | . | Trigge|
|00000330| 72 45 6e 61 62 6c 65 20 | 3d 20 54 52 55 45 0d 20 |rEnable |= TRUE. |
|00000340| 20 20 20 20 20 53 54 4f | 50 20 53 43 41 4e 3a 0d | STO|P SCAN:.|
|00000350| 20 20 20 20 20 20 20 20 | 52 65 63 65 69 76 65 72 | |Receiver|
|00000360| 45 6e 61 62 6c 65 20 3d | 20 46 41 4c 53 45 20 0d |Enable =| FALSE .|
|00000370| 20 20 20 20 20 20 20 20 | 4e 65 77 54 72 69 67 67 | |NewTrigg|
|00000380| 65 72 20 3d 20 46 41 4c | 53 45 20 0d 20 20 20 20 |er = FAL|SE . |
|00000390| 20 20 20 20 54 72 69 67 | 67 65 72 45 6e 61 62 6c | Trig|gerEnabl|
|000003a0| 65 20 3d 20 46 41 4c 53 | 45 0d 20 20 20 20 65 6e |e = FALS|E. en|
|000003b0| 64 0d 20 20 69 66 20 54 | 72 69 67 67 65 72 46 6f |d. if T|riggerFo|
|000003c0| 75 6e 64 20 74 68 65 6e | 0d 20 20 20 20 49 6e 63 |und then|. Inc|
|000003d0| 72 65 6d 65 6e 74 20 6e | 75 6d 62 65 72 20 6f 66 |rement n|umber of|
|000003e0| 20 6d 61 74 63 68 69 6e | 67 20 70 61 63 6b 65 74 | matchin|g packet|
|000003f0| 73 0d 20 20 20 20 69 66 | 20 6e 75 6d 62 65 72 20 |s. if| number |
|00000400| 6f 66 20 6d 61 74 63 68 | 69 6e 67 20 70 61 63 6b |of match|ing pack|
|00000410| 65 74 73 20 66 69 6c 6c | 73 20 73 63 72 65 65 6e |ets fill|s screen|
|00000420| 20 74 68 65 6e 0d 20 20 | 20 20 20 20 52 65 63 65 | then. | Rece|
|00000430| 69 76 65 72 45 6e 61 62 | 6c 65 20 3d 20 46 41 4c |iverEnab|le = FAL|
|00000440| 53 45 0d 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |SE._____|________|
|00000450| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000460| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000470| 5f 5f 5f 5f 5f 5f 5f 0d | 0d 7b 20 52 65 63 65 69 |_______.|.{ Recei|
|00000480| 76 65 50 61 63 6b 65 74 | 20 7d 0d 50 61 63 6b 65 |vePacket| }.Packe|
|00000490| 74 20 3a 20 64 61 74 61 | 20 69 6e 0d 50 61 63 6b |t : data| in.Pack|
|000004a0| 65 74 20 3a 20 64 61 74 | 61 20 6f 75 74 0d 52 65 |et : dat|a out.Re|
|000004b0| 63 65 69 76 65 72 45 6e | 61 62 6c 65 20 3a 20 63 |ceiverEn|able : c|
|000004c0| 6f 6e 74 72 6f 6c 20 69 | 6e 0d 42 4f 44 59 3a 20 |ontrol i|n.BODY: |
|000004d0| 0d 20 20 69 66 20 52 65 | 63 65 69 76 65 72 45 6e |. if Re|ceiverEn|
|000004e0| 61 62 6c 65 20 74 68 65 | 6e 0d 20 20 20 20 52 65 |able the|n. Re|
|000004f0| 61 64 20 50 61 63 6b 65 | 74 20 66 72 6f 6d 20 44 |ad Packe|t from D|
|00000500| 61 74 61 20 48 69 67 68 | 77 61 79 20 61 6e 64 20 |ata High|way and |
|00000510| 73 61 76 65 20 74 6f 20 | 50 61 63 6b 65 74 42 75 |save to |PacketBu|
|00000520| 66 66 65 72 20 62 75 66 | 66 65 72 0d 5f 5f 5f 5f |ffer buf|fer.____|
|00000530| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000540| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000550| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000560| 0d 0d 7b 20 53 63 61 6e | 46 6f 72 4d 61 74 63 68 |..{ Scan|ForMatch|
|00000570| 20 7d 0d 50 61 63 6b 65 | 74 20 3a 20 64 61 74 61 | }.Packe|t : data|
|00000580| 20 69 6e 0d 4d 61 74 63 | 68 69 6e 67 50 61 63 6b | in.Matc|hingPack|
|00000590| 65 74 20 3a 20 64 61 74 | 61 20 6f 75 74 0d 54 72 |et : dat|a out.Tr|
|000005a0| 69 67 67 65 72 45 6e 61 | 62 6c 65 20 3a 20 63 6f |iggerEna|ble : co|
|000005b0| 6e 74 72 6f 6c 20 69 6e | 0d 54 72 69 67 67 65 72 |ntrol in|.Trigger|
|000005c0| 46 6f 75 6e 64 20 3a 20 | 63 6f 6e 74 72 6f 6c 20 |Found : |control |
|000005d0| 6f 75 74 0d 54 72 69 67 | 67 65 72 20 3a 20 64 61 |out.Trig|ger : da|
|000005e0| 74 61 20 69 6e 0d 42 4f | 44 59 3a 20 0d 69 66 20 |ta in.BO|DY: .if |
|000005f0| 54 72 69 67 67 65 72 45 | 6e 61 62 6c 65 20 74 68 |TriggerE|nable th|
|00000600| 65 6e 0d 20 20 77 68 69 | 6c 65 20 4e 4f 54 20 54 |en. whi|le NOT T|
|00000610| 72 69 67 67 65 72 46 6f | 75 6e 64 20 64 6f 0d 20 |riggerFo|und do. |
|00000620| 20 20 20 69 66 20 54 72 | 69 67 67 65 72 20 6d 61 | if Tr|igger ma|
|00000630| 74 63 68 65 73 20 50 61 | 63 6b 65 74 20 74 68 65 |tches Pa|cket the|
|00000640| 6e 0d 20 20 20 20 20 20 | 53 61 76 65 20 4d 61 74 |n. |Save Mat|
|00000650| 63 68 69 6e 67 20 50 61 | 63 6b 65 74 20 61 6e 64 |ching Pa|cket and|
|00000660| 20 73 65 74 20 54 72 69 | 67 67 65 72 46 6f 75 6e | set Tri|ggerFoun|
|00000670| 64 20 3d 20 54 52 55 45 | 0d 5f 5f 5f 5f 5f 5f 5f |d = TRUE|._______|
|00000680| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000690| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000006a0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 0d 0d 7b |________|_____..{|
|000006b0| 20 44 72 61 77 53 63 72 | 65 65 6e 20 7d 0d 41 6e | DrawScr|een }.An|
|000006c0| 61 6c 79 7a 65 72 44 69 | 73 70 6c 61 79 20 3a 20 |alyzerDi|splay : |
|000006d0| 64 61 74 61 20 6f 75 74 | 0d 4d 61 74 63 68 69 6e |data out|.Matchin|
|000006e0| 67 50 61 63 6b 65 74 20 | 3a 20 64 61 74 61 20 69 |gPacket |: data i|
|000006f0| 6e 0d 54 72 69 67 67 65 | 72 20 3a 20 64 61 74 61 |n.Trigge|r : data|
|00000700| 20 69 6e 0d 42 4f 44 59 | 3a 20 0d 20 20 43 72 65 | in.BODY|: . Cre|
|00000710| 61 74 65 20 41 6e 61 6c | 79 7a 65 72 44 69 73 70 |ate Anal|yzerDisp|
|00000720| 6c 61 79 20 66 72 6f 6d | 20 54 72 69 67 67 65 72 |lay from| Trigger|
|00000730| 20 61 6e 64 20 4d 61 74 | 63 68 69 6e 67 50 61 63 | and Mat|chingPac|
|00000740| 6b 65 74 0d 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |ket.____|________|
|00000750| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000760| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000770| 5f 5f 5f 5f 5f 5f 5f 5f | 0d 0d 0d 0d 0d 00 00 00 |________|........|
|00000780| 00 00 01 00 00 00 02 f4 | 00 00 01 f4 00 00 00 84 |........|........|
|00000790| fe f4 70 3f 24 d8 51 c8 | ff fc 41 ee fe f4 2e 08 |..p?$.Q.|..A.....|
|000007a0| 52 87 41 ee fe ec 45 e9 | 00 66 20 da 20 da 2f 07 |R.A...E.|.f . ./.|
|000007b0| 0b 41 6e 61 6c 79 7a 65 | 72 2e 50 44 02 00 00 00 |.Analyze|r.PD....|
|000007c0| 54 45 58 54 44 45 53 41 | 01 00 00 3e 00 81 00 00 |TEXTDESA|...>....|
|000007d0| 00 00 54 45 58 54 44 45 | 53 41 01 00 00 3e 00 81 |..TEXTDE|SA...>..|
|000007e0| 00 00 00 84 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007f0| 00 00 9f 55 de 60 00 00 | 06 fd 00 00 03 78 48 6e |...U.`..|.....xHn|
|00000800| ff f4 3f 3c 10 10 a9 eb | 30 2e 00 10 90 6e 00 0c |..?<....|0....n..|
|00000810| 3d 40 ff e2 48 6e ff e2 | 48 6e ff e6 3f 3c 20 0e |=@..Hn..|Hn..?< .|
|00000820| a9 eb 48 6e ff e6 48 6e | ff f8 3f 3c 10 10 a9 eb |..Hn..Hn|..?<....|
|00000830| 48 6e ff f4 48 6e ff e6 | 3f 3c 10 0e a9 eb 48 6e |Hn..Hn..|?<....Hn|
|00000840| ff e6 48 6e ff e6 3f 3c | 00 04 a9 eb 48 6e ff f8 |..Hn..?<|....Hn..|
|00000850| 48 6e ff d8 3f 3c 10 0e | a9 eb 48 6e ff d8 48 6e |Hn..?<..|..Hn..Hn|
|00000860| ff d8 3f 3c 00 04 a9 eb | 48 6e ff d8 48 6e ff e6 |..?<....|Hn..Hn..|
|00000870| 42 67 a9 eb 48 6e ff e6 | 3f 3c 00 12 a9 eb 48 6e |Bg..Hn..|?<....Hn|
|00000880| 00 00 00 28 01 2d 80 01 | 02 40 00 01 1f 00 00 32 |...(.-..|.@.....2|
|00000890| 00 28 00 fa 01 c2 01 bc | 00 00 1f 02 00 00 04 a8 |.(......|........|
|000008a0| 00 00 01 e8 00 48 00 48 | ff b8 ff b8 00 00 00 1c |.....H.H|........|
|000008b0| 00 01 00 01 00 61 e1 1c | 00 61 e1 24 ff f8 48 6c |.....a..|.a.$..Hl|
|000008c0| 00 61 e1 18 00 00 00 00 | 06 fe ff ff 00 00 00 12 |.a......|........|
|000008d0| 00 01 00 10 00 0c 00 01 | 00 00 00 0c 00 00 00 00 |........|........|
|000008e0| 00 00 00 00 01 12 06 47 | 65 6e 65 76 61 00 00 00 |.......G|eneva...|
|000008f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000900| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000910| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000920| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000930| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000940| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000950| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000960| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000970| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000980| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000990| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009e0| 00 00 00 00 00 00 00 00 | 00 0c 00 00 00 00 00 00 |........|........|
|000009f0| 00 00 ff ff ff ff ff ff | 00 00 00 78 00 03 00 00 |........|...x....|
|00000a00| 00 48 00 48 00 00 00 00 | 02 da 02 28 ff e1 ff e2 |.H.H....|...(....|
|00000a10| 02 f9 02 46 03 47 05 28 | 03 fc 00 02 00 00 00 48 |...F.G.(|.......H|
|00000a20| 00 48 00 00 00 00 02 da | 02 28 00 01 00 00 00 64 |.H......|.(.....d|
|00000a30| 00 00 00 01 00 01 01 01 | 00 00 00 01 27 0f 00 01 |........|....'...|
|00000a40| 00 01 00 00 00 00 00 00 | 00 00 00 00 00 00 00 02 |........|........|
|00000a50| 00 19 01 90 00 00 00 00 | 00 40 00 00 00 00 00 00 |........|.@......|
|00000a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a70| 00 00 00 00 00 00 01 00 | 00 00 02 f4 00 00 01 f4 |........|........|
|00000a80| 00 00 00 84 00 61 69 98 | 05 26 00 00 00 1c 00 7a |.....ai.|.&.....z|
|00000a90| 00 03 44 53 54 41 00 00 | 00 22 53 54 59 4c 00 01 |..DSTA..|."STYL..|
|00000aa0| 00 2e 53 50 45 43 00 00 | 00 46 50 52 4e 54 00 00 |..SPEC..|.FPRNT..|
|00000ab0| 00 52 00 01 00 00 00 00 | 00 00 00 61 e0 68 00 01 |.R......|...a.h..|
|00000ac0| ff ff 00 00 00 2c 00 61 | e0 74 00 02 ff ff 00 00 |.....,.a|.t......|
|00000ad0| 00 4c 00 61 e0 78 00 01 | ff ff 00 00 00 62 00 61 |.L.a.x..|.....b.a|
|00000ae0| e0 6c 00 01 ff ff 00 00 | 01 78 00 61 e0 60 09 44 |.l......|.x.a.`.D|
|00000af0| 6f 63 20 53 74 61 74 65 | 00 00 00 00 00 00 00 00 |oc State|........|
+--------+-------------------------+-------------------------+--------+--------+